from window import PTableViewer
# from window import elements

class CustomPTableViewer(PTableViewer):
    def __init__(self, root):
        super().__init__(root=root)
        
    def show_element_info(self, event):
        print("找到")
        if self.element_listbox.curselection():
            index = self.element_listbox.curselection()[0]
            print(f"选择下标 {index}")
            if self.temp_elementsList == None: # 如果没有进行搜索，则使用原字典
                selected_element = self.elementsList[index]
            else:
                selected_element = self.temp_eaddementsList[index]
            print(f"选择元素: {selected_element}")
            
            # 更新详细信息标签
            info_text = f"名称: {selected_element['name']}\n" \
                        f"符号: {selected_element['symbol']}\n" \
                        f"序号: {selected_element['number']}\n" \
                        f"中文名: {selected_element['ChineseName']}\n" \
                        f"原子量：{selected_element['atomic_mass']}\n" \
                        f"沸点：{selected_element['boiling_point']}\n" \
                        f"熔点：{selected_element['melting_point']}"
            
            #打标签 
            
            tags_text = " ".join(selected_element.get("tags", []))
            
            info_text += f"\n标签: {tags_text}"
            
            self.element_info_label.config(text=info_text)
            
        else:
            print("程序员是无情的生物，没找到")
            print("请再试试吧！")
            
    def add_tag_to_element(self):
        if self.element_listbox.curselection():
            index = self.element_listbox.curselection()[0]
            if self.temp_elementsList == None: # 如果没有进行搜索，则使用原字典
                selected_element = self.elementsList[index]
                print("使用原字典")
            else:
                selected_element = self.temp_elementsList[index]
                print("使用缓存字典")
            new_tag = self.tag_entry.get()
            
            # 添加标签到元素
            if "tags" not in selected_element:
                selected_element["tags"] = []
            selected_element["tags"].append(new_tag)
            
            # 更新详细信息显示
            self.show_element_info(None)
